﻿using Abp.Application.Services;
using Paas.App.Interface.Sys.Admin.Messages;

namespace Paas.App.Interface.Sys.Admin
{
    public interface ISysAdminAppService : IApplicationService
    {
        SearchUserOutput SearchUser(SearchUserInput input);

        SaveUserOutput SaveUser(SaveUserInput input);

        ResetUserPasswordOutput ResetUserPassword(ResetUserPasswordInput input);

        DeleteUserOutput DeleteUser(DeleteUserInput input);

        SearchRoleForUserOutput SearchRoleForUser(SearchRoleForUserInput input);

        AssignUserToRoleOutput AssignUserToRole(AssignUserToRoleInput input);

        RemoveUserFromRoleOutput RemoveUserFromRole(RemoveUserFromRoleInput input);


        SearchRoleOutput SearchRole(SearchRoleInput input);

        SaveRoleOutput SaveRole(SaveRoleInput input);

        DeleteRoleOutput DeleteRole(DeleteRoleInput input);

        SearchPermissionForRoleOutput SearchPermissionForRole(SearchPermissionForRoleInput input);

        AssignRolePermissionOutput AssignRolePermission(AssignRolePermissionInput input);

        RemoveRolePermissionOutput RemoveRolePermission(RemoveRolePermissionInput input);


        SearchOrganizationOutput SearchOrganization(SearchOrganizationInput input);

        SaveOrganizationOutput SaveOrganization(SaveOrganizationInput input);

        DeleteOrganizationOutput DeleteOrganization(DeleteOrganizationInput input);

    }
}

